自動化測試 x Puppeteer - 玩偶QA參一咖 Day01


前言:

對軟體業QA來說,工作內容通常會包含測試產品(App, Web, … etc)在上架前後的運作情形是否正常且適當。在 Kdan Mobile,我身為QA實習生在最一開始做的事情就是使用&測試目前公司主打服務之一的 DottedSign (點點簽),接著分類 DottedSign 裡不同功能的使用情境,然後再將可以兜在一起的使用情境合併成為一條「測試路徑」。目前 DottedSign 一共有六條測試路徑,而我該做的事情就是看看這六條路是不是都是暢通的^^)。

在定義好測試路徑後,測試起來就比較有方向,除了人工測試之外,在主管的建議下,便開始走上Headless Chrome等等自動化測試相關的路途。其實針對自動化測試在網路上有不少可行的選項,像是 Selenium 和 Puppeteer等等。而在此一系列文章當中,我選擇了 Puppeteer。


規劃:

從準備環境開始,利用 Node.js Library 裡面的Puppeteer套件實作出 DottedSign 的其中一條測試路徑--自己簽署,同時和大家分享一些我遇過的 Error Messages 以及可能的解決辦法,若有不確定的地方我也會在文章最下方列出來。另外也歡迎大家先在DottedSign建立一個帳戶並且嘗試使用,裡頭有一個在此系列文章中我們會用Puppeteer實作出來的功能,也就是上面提到的"自己簽署",有了操作的概念之後,在跟著這個系列文章一起操作時也會比較有順手喔^^

預期看完這一系列分享文的人對於 Puppeteer 會有一定程度的了解,同時也能開始撰寫自動化程序,以下為這幾天我們會走過的主題:

第一天: 前言、規劃、適合對象
第二天: 準備環境、前往指定網址
第三天: 登入服務
第四天: 開始自己簽署的服務
第五天: 上傳指定檔案
第六天: DOM 陣列操作
第七天: 完成任務

註: 原則是讓每一天都包含一兩個我當時處理比較久的 Issue,說明則會有段落性的文字、圖片、以及程式碼。


適合對象:

我覺得會非常適合想要開始使用 Puppetter 做專案的人,它很方便也很好上手,像我就是新手入門 Puppeteer 並且還在繼續使用的活例子XD,基本上對於 JavaScript、Html 有一定程度認識就可以開始動作(自己對於它們的掌握度大概就只有到 Entry-Level 的等級,不過還是夠用,當然我相信對於越清楚 Html 和 JavaScript 的概念的人,會更加覺得 Puppeteer 裡面的函式用法是合理的),通常撰寫時會若有疑慮主要都是因為還不習慣 Puppeteer 函式的相關語法(要提供什麼樣形式的Parameter),這時候就參考其技術文件以及網路上的教學文章即可。我會盡量用淺顯易懂的方式讓大家明白為什麼是這樣做,另外在每一篇文章的最下方會附有當前的程式碼以及小結論,方便各位讀者做個簡易的Recap。

最後來使用標題一下
~歡迎來到玩偶QA參一咖~
讓我們一起做出會QA的Puppet吧!


相關連結:

Puppeteer 技術文件

Selenium vs. Puppeteer

DottedSign官網

(Optional事前準備:大家可以先到DottedSign官網辦一個帳號,在Day3登入服務會正式使用到)
下回預告: 我們將會建立Node.js專案,並且介紹Puppeteer簡單又實用的函式

#Puppeteer







你可能感興趣的文章

演習課 WEEK14 (QA)

演習課 WEEK14 (QA)

What is the concept of handle in Java?

What is the concept of handle in Java?

Stapler Walkthrough (1)

Stapler Walkthrough (1)






留言討論